C语言|帮解释下输出是什么,为什么是这个输出~谢

来源:百度知道 编辑:UC知道 时间:2024/05/30 00:43:07
#include "stdio.h"
main()
{
int i;
for(i=0;i<5;i++)
{
if(i%2)/*这句什么意思?*/
printf("%c",'a');
else
continue; /*continue结束哪个循环?*/
printf("%c",'b');
}
printf("%c,",'c');
}
在线等..
本人希望得到好点的回答,不要说去看书,我看了好多遍,不过还是希望得到好点的讲解,
另外BScopy过来的答案,

1.如果i为奇数的话就执行if后的语句
2.if和else是配对出现的,这里的else是针对i为偶数的情况.i为偶数则继续的循环.

if(i%2)/*这句什么意思?*/
printf("%c",'a');

i%2的结果就是取i除以2的余数,很清楚只能产生1和0,他们分别可以产生boolean值true和false(标准:任何非零数都为true)

也就是在i%2=1的时候(显然是i是奇数的时候,包括i=1),输出一个字符a。因为是第一个条件成立,所以语句不会走到coutinue上,所以接着输出一个字符b。程序执行到最后,在循环外输出一个字符c。

countinue不是结束循环,我觉得更像是skip(跳过)的意思,也就是跳过下面的语句,重新开始循环

即如果i不能整除2,则输出一个字符a和字符b,否则不输出,循环i的取值为0、1、2、3、4,即输出2次,程序最后输出一个字符c,输出应该为
ababc

if(i%2)的意思就是判断I是不是偶数
continue 的意思是结束本次循环~仍然继续执行FOR循环~